#pragma once
#include <iostream>
#include "task/task.h"
#include "common_lib/common.h"

namespace task
{
    class TaskProcess;
    class TaskHandleBase;
    class CommandProcess
    {
    public:
        CommandProcess(task::TaskProcess* task);
        ~CommandProcess();

        void Init(std::string &path);

        void TaskCmdProcess(task::sAMRState &amr_state, task::sTaskMsg &task_msg);
    private:
        std::string path_;
        common_lib::Common com_;
        std::unique_ptr<task::TaskProcess> ptr_task_process_;
        std::shared_ptr<task::TaskHandleBase> ptr_task_handle_;
        bool PathExtraction(std::vector<std::string> &point_sequence, uint32_t task_id, float speed_level, task::sTaskMsg &task_msg);

        float cfc_max_speed_toward;
    };
};